package Q16_21_Sum_Swap; import CtCILibrary.AssortedMethods; public class Tester { public static boolean isEquivalent(int[] a, int[] b, int[] c, int[] d) { if (a == null || b == null || c == null || d == null) { return a == null && b == null && c == null && d == null; } return difference(a) == difference(b) && difference(a) == difference(c) && difference(a) == difference(d); } public static int difference(int[] a) { if (a.length != 2) { return -1; } return a[0] - a[1]; } public static String arrayToString(int[] array) { StringBuffer sb = new StringBuffer(); for (int a : array) { sb.append(a + " "); } return sb.toString(); } public static void main(String[] args) { int count = 0; int max = 100; while (count < max) { int[] array1 = AssortedMethods.randomArray(10, -10, 10); int[] array2 = AssortedMethods.randomArray(10, -10, 10);; int[] swapsA = QuestionA.findSwapValues(array1, array2); int[] swapsB = QuestionB.findSwapValues(array1, array2); int[] swapsC = QuestionC.findSwapValues(array1, array2); int[] swapsD = QuestionD.findSwapValues(array1, array2); if (swapsA != null || swapsB != null || swapsC != null || swapsD != null) { count++; } if (!isEquivalent(swapsA, swapsB, swapsC, swapsD)) { System.out.println("Error"); System.out.println(AssortedMethods.arrayToString(array1)); System.out.println(AssortedMethods.arrayToString(array2)); System.out.println(AssortedMethods.arrayToString(swapsA)); System.out.println(AssortedMethods.arrayToString(swapsB)); System.out.println(AssortedMethods.arrayToString(swapsC)); System.out.println(AssortedMethods.arrayToString(swapsD)); break; } else { System.out.println("Equivalent."); System.out.println(AssortedMethods.arrayToString(array1)); System.out.println(AssortedMethods.arrayToString(array2)); System.out.println(AssortedMethods.arrayToString(swapsA)); System.out.println(AssortedMethods.arrayToString(swapsB)); System.out.println(AssortedMethods.arrayToString(swapsC)); System.out.println(AssortedMethods.arrayToString(swapsD)); System.out.println("\n"); } } } }